$(function () {
    // 1. 按下回车把数据存储到本地
    // 存储的数据格式 let todolist = [{title: "xxx", done: false}]
    load()
    $("#title").on("keydown", function (event) {
        {
            if (event.keyCode === 13) {
                if ($(this).val() === "") {
                    alert("请输入您的内容")
                } else {
                    // 先获取本地存储原来的数据
                    let local = getDate();
                    // 把local数据进行更新数据 把最新的数据追加到local数组中
                    local.push({ title: $(this).val(), done: false });
                    // 把这个数组local存储给本地存储
                    saveDate(local);
                    load();
                    $(this).val("");
                }
            }
        }
    });
    // 3. todolist删除操作
    $("ol, ul").on("click", "a", function () {
        // 获取本地存储
        let data = getDate();
        // 修改数据
        let index = $(this).attr("id");
        data.splice(index, 1);
        // 保存到本地存储
        saveDate(data);
        // 重新渲染页面
        load();
    })
    // 4. todolist 正在进行和已完成选项操作
    $("ol, ul").on("click", "input", function () {
        // 获取本地存储
        let data = getDate();
        // 修改数据
        let index = $(this).siblings("a").attr("id");
        data[index].done = $(this).prop("checked");
        // 保存到本地存储
        saveDate(data);
        // 重新渲染页面
        load();
    })
    // 读取本地存储的数据
    function getDate() {
        let data = localStorage.getItem("todolist");
        if (data !== null) {
            // 本地存储的数据转换成对象格式
            return JSON.parse(data);
        } else {
            return [];
        }
    }
    // 保存本地存储数据
    function saveDate(data) {
        localStorage.setItem("todolist", JSON.stringify(data));
    };
    // 渲染加载数据
    function load() {
        // 读取本地存储数据
        let data = getDate();
        // 遍历之前清空ol里面的元素内容
        $("ol, ul").empty();
        let todoCount = 0;  //正在进行的个数
        let doneCount = 0;  //已经完成的个数
        // 遍历这个数据
        $.each(data, function (i, n) {
            if (n.done) {
                $("ul").prepend("<li><input type='checkbox' checked='checked' > <p>" + n.title + "</p> <a href='javascript:;' id=" + i + " ></a></li>");
                doneCount++;
            } else {
                $("ol").prepend("<li><input type='checkbox'><p>" + n.title + "</p><a href='javascript:;' id=" + i + "></a></li>");
                todoCount++;
            }
        });
        $("#todocount").text(todoCount);
        $("#donecount").text(doneCount);
    }
})
